home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / SpriteWorld 2.0 ƒ / SpriteWorld Examples / SpriteTest / SpriteTest.h < prev    next >
Encoding:
Text File  |  1996-09-09  |  2.7 KB  |  145 lines  |  [TEXT/KAHL]

  1. ///--------------------------------------------------------------------------------------
  2. // SpriteTest.h
  3. ///--------------------------------------------------------------------------------------
  4.  
  5.  
  6. #ifndef __SPRITETEST__
  7. #define __SPRITETEST__
  8.  
  9. #ifndef __MENUS__
  10. #include <Menus.h>
  11. #endif
  12.  
  13.  
  14. enum
  15. {
  16.     kBaseResID = 128,
  17.     kGlobeHeight = 48,
  18.     kNumberOfGlobeSprites = 4,
  19.     kNumberOfGlobeFrames = 30,
  20.     kGlobeSpriteMoveTime = 0,
  21.     kGlobeSpriteFrameTime = 20,
  22.     kTwoHeight = 50,
  23.     kNumberOfTwoFrames = 10,
  24.     kBackDropPixPatID = 128,
  25.     kPerformanceAlertID = 200,
  26.     kSetUpTestResID = 400,
  27.     kTestTime = (30 * 60)
  28. };
  29.  
  30. typedef enum
  31.     kCopyBitsProc, 
  32.     kBlitPixieProc, 
  33.     kCompiledProc 
  34. }ProcType;
  35.  
  36. enum
  37. {
  38.     kCopyBitsSpriteButton = 4,
  39.     kBlitPixieSpriteButton,
  40.     kCompiledSpriteButton,
  41.     kCopyBitsOffscreenButton = 8,
  42.     kBlitPixieOffscreenButton,
  43.     kCopyBitsScreenButton = 11,
  44.     kBlitPixieScreenButton,
  45.     kRunTestNowCheckBox
  46. };
  47.  
  48. typedef struct SpriteTestRec SpriteTestRec;
  49. typedef SpriteTestRec *SpriteTestPtr, **SpriteTestHdl;
  50.  
  51.  
  52. struct SpriteTestRec
  53. {
  54.     SpriteWorldPtr spriteWorldP;
  55.     SpriteLayerPtr globeSpriteLayerP;
  56.     SpritePtr globeSpriteArray[kNumberOfGlobeSprites];
  57.     SpritePtr titleSpriteP;
  58.     SpritePtr twoSpriteP;
  59. };
  60.         
  61.  
  62. OSErr SetupSWStuff(
  63.     SpriteTestPtr* spriteTestP,
  64.     CWindowPtr srcWindowP);
  65.  
  66. void DisposeSWStuff(
  67.     SpriteTestPtr spriteTestP);
  68.  
  69. void SetupSpriteWorldElements(
  70.     SpriteTestPtr spriteTestP);
  71.  
  72. void SetupGlobeSprite(
  73.     SpritePtr testSpriteP,
  74.     Rect *moveBoundsRect,
  75.     short horizLocation,
  76.     short vertLocation);
  77.  
  78. void SpriteTestIdle(
  79.     SpriteTestPtr spriteTestP);
  80.  
  81. void UpdateSpriteTest(
  82.     SpriteTestPtr spriteTestP,
  83.     WindowPtr updateWindowP);
  84.  
  85. void HandleCreateSpriteCommand(
  86.     SpriteTestPtr spriteTestP);
  87.  
  88. void HandleSpriteTestTitleCommand(
  89.     SpriteTestPtr spriteTestP);
  90.  
  91. void HandleBouncingBallsCommand(
  92.     SpriteTestPtr spriteTestP);
  93.  
  94. void RemoveClickedSprite(
  95.     SpriteTestPtr spriteTestP);
  96.  
  97. void SetUpTestDialog(
  98.     SpriteTestPtr spriteTestP);
  99.  
  100. void SetSetUpTestButtons(
  101.     DialogPtr theDialog);
  102.     
  103. void RunTheTest(
  104.     SpriteTestPtr spriteTestP);
  105.     
  106. void RestoreFromTest(
  107.     WindowPtr testWindowP,
  108.     SpriteTestPtr spriteTestP);
  109.     
  110. void DisplayPerformance(
  111.     long frames,
  112.     long seconds);
  113.  
  114. void TwoSpriteFrameProc(SpritePtr twoSpriteP, FramePtr curFrameP,
  115.     long *frameIndex);
  116.     
  117. void GlobeSpriteMoveProc(SpritePtr globeSpriteP);
  118.  
  119. void PixelBounceCollideProc(
  120.     SpritePtr srcSpriteP,
  121.     SpritePtr dstSpriteP,
  122.     Rect* sectRect);
  123.     
  124. void RegionBounceCollideProc(
  125.     SpritePtr srcSpriteP,
  126.     SpritePtr dstSpriteP,
  127.     Rect* sectRect);
  128.  
  129. void RadiusBounceCollideProc(
  130.     SpritePtr srcSpriteP,
  131.     SpritePtr dstSpriteP,
  132.     Rect* sectRect);
  133.  
  134. void BounceGlobeOffGlobe(
  135.     SpritePtr srcSpriteP,
  136.     SpritePtr dstSpriteP);
  137.  
  138. void BounceGlobeOffTitle(
  139.     SpritePtr titleSpriteP,
  140.     SpritePtr globeSpriteP,
  141.     Rect* sectRect);
  142.     
  143.  
  144. #endif    /* __SPRITETEST__ */